﻿using Mt.Site.Application.FileUpload.Dto.MultiUpload;
using System.Threading.Tasks;

namespace Mt.Site.Application.FileFinder
{
    public interface IMultipartUploadAppService : IBackEndAppService
    {
        Task<MultipartUploadVerifyOutput> MultipartUploadVerifyAsync(MultipartUploadVerifyInput input);

        Task<MergeFileOutput> MergeFileAsync(MergeFileInput input);


        Task<ExternalUploadVerifyOutput> ExternalMultiUploadVerifyAsync(ExternalMultiUploadVerifyInput input);

        Task<ExternalUploadMergeOutput> ExternalMultiUploadMergeAsync(ExternalMultiUploadMergeInput input);


        Task<ExternalUploadVerifyOutput> ExternalSingleUploadVerifyAsync(ExternalSingleUploadVerifyInput input);

        Task<ExternalUploadMergeOutput> ExternalSingleUploadMergeAsync(ExternalSingleUploadMergeInput input);



        Task<InternalUploadVerifyOutput> InternalSingleUploadVerifyAsync(InternalSingleUploadVerifyInput input);

        Task<InternalUploadMergeOutput> InternalSingleUploadMergeAsync(InternalSingleUploadMergeInput input);


        Task<InternalUploadVerifyOutput> InternalUploadForEditVerifyAsync(InternalUploadForEditVerifyInput input);

        Task<InternalUploadMergeOutput> InternalUploadForEditMergeAsync(InternalUploadForEditMergeInput input);
    }
}
